﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace AVEIT.autogestionAVEIT.Negocio.Entidades
{
    public class Socio
    {
        public int? numero_socio { get; set; }
        public String nombre { get; set; }
        public String apellido { get; set; }
        public long numero_dni { get; set; }
        public int tipo_dni { get; set; }
        public int grupo { get; set; }
        public int estado { get; set; }
        public DateTime fecha_nacimiento { get; set; }
        public int año_social { get; set; }
        public int? id_usuario { get; set; }
        public String facebook { get; set; }
        public string mail { get; set; }
        public Domicilio domicilio;
        public int num_domicilio { get; set; }
        public int tipo_telefono { get; set; }
        public int tel_caracteristica { get; set; }
        public int tel_numero { get; set; }
        
        // Constructor por defecto
        public Socio() { }

        // Constructor sin numero de socio ni domicilio ni telefono
        public Socio(String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail)
        {
            
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;

        }

        // Constructor con numero de socio y numero de domicilio
        public Socio(int numero_soc, String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail, int num_domicilio)
        {
            this.numero_socio = numero_soc;
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;
            this.num_domicilio = num_domicilio;

        }
        // Constructor completo, incluyendo domicilio mail y telefono
        public Socio(int numero_soc, String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail, int num_domicilio, string dom_calle, int dom_numero, int dom_piso, string dom_depto, string dom_barrio, int dom_localidad, int dom_provincia, int dom_pais, int dom_cod_postal, int tipo_tel, int tel_carac, int tel_num)
        {
            this.numero_socio = numero_soc;
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;
            this.domicilio = new Domicilio(num_domicilio, dom_localidad, dom_calle, dom_numero, dom_piso, dom_depto, dom_barrio, dom_provincia, dom_pais, dom_cod_postal);
            this.tipo_telefono = tipo_tel;
            this.tel_caracteristica = tel_carac;
            this.tel_numero = tel_num;
        }
        // Constructor completo, incluyendo domicilio mail y telefono
        public Socio(int numero_soc, String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail, string dom_calle, int dom_numero, int dom_piso, string dom_depto, string dom_barrio, int dom_localidad, int dom_cod_postal, int tipo_tel, int tel_carac, int tel_num)
        {
            this.numero_socio = numero_soc;
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;
            this.domicilio = new Domicilio(dom_localidad, dom_calle, dom_numero, dom_piso, dom_depto, dom_barrio, dom_cod_postal);
            this.tipo_telefono = tipo_tel;
            this.tel_caracteristica = tel_carac;
            this.tel_numero = tel_num;

        }
        // Constructor completosin numero de socio, incluyendo domicilio mail y telefono
        public Socio(String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail, string dom_calle, int dom_numero, int dom_piso, string dom_depto, string dom_barrio, int dom_localidad, int dom_cod_postal, int tipo_tel, int tel_carac, int tel_num)
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;
            this.domicilio = new Domicilio(dom_localidad, dom_calle, dom_numero, dom_piso, dom_depto, dom_barrio, dom_cod_postal);
            this.tipo_telefono = tipo_tel;
            this.tel_caracteristica = tel_carac;
            this.tel_numero = tel_num;


        }


        // Constructor con domicilio, sin numero de socio.
        public Socio(String nombre, String apellido, long num_dni, int tipo_dni, int grupo, int estado, DateTime fec_nac, int año_social, int id_usuario, String facebook, String mail, string dom_calle, int dom_numero, int dom_piso, string dom_depto, string dom_barrio, int dom_localidad, int dom_cod_postal)
        {
            this.nombre = nombre;
            this.apellido = apellido;
            this.numero_dni = num_dni;
            this.tipo_dni = tipo_dni;
            this.grupo = grupo;
            this.estado = estado;
            this.fecha_nacimiento = fec_nac;
            this.año_social = año_social;
            this.id_usuario = id_usuario;
            this.facebook = facebook;
            this.mail = mail;
            this.domicilio = new Domicilio(dom_localidad, dom_calle, dom_numero, dom_piso, dom_depto, dom_barrio, dom_cod_postal);
           
        }
    }
}